---
title: "Training Module: Sales Invoice Reference Updates for Container Services"
space: "Icd tz"
url: "https://support.aakvatech.com/ICD TZ/training-module-sales-invoice-reference-updates-for-container-services"
updated: "2026-07-22"
---

### **Objective**
To train ICD operations staff and system administrators on how the system automatically updates sales invoice references across all related container and booking records upon submission of a **Sales Invoice**.

---

### 🔧 **Feature Overview**
This feature ensures all container-related services—such as transport, handling, storage, and inspections—are traceably linked to their respective **Sales Invoice**. It enhances traceability, audit readiness, and process integration within the ICD system.

---

### 🧭 **Step-by-Step Process**

#### **1. Trigger Point**
- The process is triggered on `on_submit` of the **Sales Invoice**.
- Additionally, validation logic is triggered on `before_save`.

#### **2. Initial Validation**
- Checks if the `m_bl_no` is available on the invoice.
- Skips if not present or if the invoice is a **Return Invoice** (`is_return = 1`).

#### **3. Item-Based Reference Updates**
For each item in the invoice:
- The system uses `ICD TZ Settings` to identify the item category:
  - **Transport Items** → Updates `t_sales_invoice` on `Container Reception`.
  - **Shore Handling Items (T1/T2, 20ft/40ft)** → Updates `s_sales_invoice` on `Container Reception`.
  - **In-Yard Booking Item** → Updates `s_sales_invoice` on `In Yard Container Booking`.
  - **Custom Verification Item** → Updates `cv_sales_invoice` on `In Yard Container Booking`.
  - **Removal and Corridor Levy Items** → Updates `r_sales_invoice` / `c_sales_invoice` on `Container`.
  - **Storage Items** → Updates `sales_invoice` on each matching row in `container_dates`.

#### **4. Special Handling**
- Updates **Inspection Records** in `Container Inspection Detail` if the service is matched.
- Changes container status to `"At Gatepass"` after certain updates, signaling readiness for dispatch.

#### **5. Link Back to Service Order**
- Finds all `Service Orders` linked to the same `Sales Order`.
- Updates their `sales_invoice` field with the submitted invoice’s ID.

---

### 🗂️ **Records Affected**
- `Container Reception`
- `In Yard Container Booking`
- `Container`
- `Container.container_dates`
- `Container Inspection`
- `Service Order`

---

### 🧠 **Key Learning Points**
- **Data Consistency**: The invoice is centrally linked to all relevant operational records.
- **Automation**: Reduces manual effort in updating references and avoids errors.
- **Status Management**: The system auto-updates statuses to reflect processing stage (`"At Gatepass"`).
- **Custom Config Dependency**: Relies heavily on correct mapping in `ICD TZ Settings`.

---

### ⚠️ **Important Notes**
- Ensure all ICD settings are up to date with valid item codes.
- Container child refs in storage must match `container_dates.name`.
- Return invoices (`is_return = 1`) do not apply invoice reference updates.
